{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2.5 非参数方法"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "之前我们的方法都是预先假设数据服从一个特定的概率分布，然后对对这个分布的参数进行估计。这种方法叫做参数估计。\n",
    "\n",
    "但是这种方法的缺陷在于，我们选择的分布可能与实际的分布相差很大：如果数据是个多峰的分布，那么我们用一个高斯分布很难得到一个较好的结果。\n",
    "\n",
    "非参数方法与参数估计不同，非参数方法对于数据分布的假设通常是很少的。\n",
    "\n",
    "我们先从直方图来入手。考虑一个连续变量 $x$，直方图方法将 $x$ 划分为 $n$ 个长度为 $\\Delta_i$ 的区间，每个区间内观察到的数据点数为 $n_i$，总的数据点为 N，那么我们可以认为，在第 $i$ 个区间的概率密度可以近似为：\n",
    "\n",
    "$$\n",
    "p_i = \\frac{n_i}{N\\Delta_i}\n",
    "$$\n",
    "\n",
    "即我们认为在每个区间它的概率密度是相同的。然后我们显然有 $\\int p(x) dx = 1$。在实际应用中，我们通常让这些区间等长即 $\\Delta_i = \\Delta$。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fb343146198>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import scipy as sp\n",
    "import matplotlib.pyplot as plt\n",
    "from scipy.stats import norm\n",
    "\n",
    "%matplotlib inline\n",
    "\n",
    "_, axes = plt.subplots(3, 1, figsize=(7,6))\n",
    "\n",
    "xx = np.zeros(50)\n",
    "\n",
    "n = 15\n",
    "xx[:n] = norm.rvs(size=(n,), loc=0.25, scale=0.1)\n",
    "xx[n:] = norm.rvs(size=(50-n,), loc=0.75, scale=0.1)\n",
    "\n",
    "dlt = [0.04, 0.08, 0.25]\n",
    "tt = np.linspace(0, 1, 300)\n",
    "tp = 0.3 * norm.pdf(tt, loc=0.25, scale=0.1) + 0.7 * norm.pdf(tt, loc=0.75, scale=0.1)\n",
    "\n",
    "for i in range(3):\n",
    "    axes[i].hist(xx, bins=np.arange(0,1.01,dlt[i]), normed=True, color='r')\n",
    "    axes[i].plot(tt, tp, 'g')\n",
    "    axes[i].set_ylim(0, 5)\n",
    "    axes[i].set_yticks([0, 5])\n",
    "    axes[i].set_xticks([0, .5, 1])\n",
    "    axes[i].text(0.1, 3, '$\\Delta={}$'.format(dlt[i]), fontsize='x-large')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "上图是两个高斯分布的混合，绿色为实际的概率分布，我们看到，当我们将 $\\Delta$ 设的很小时，很多区域的信息被丢失了，当 $\\Delta$ 设的很大时，又不能很好的反映出多峰的性质。\n",
    "\n",
    "在实际应用中，直方图方法只能用在一维或者二维的情况，当维数多的时候并不适合。\n",
    "\n",
    "我们使用直方图方法的原因基于两个考虑，第一，对于某个位置的概率密度，我们通常会考虑该点附近某个区域内的数据点的情况，直方图的区间宽度控制了这个区域的大小；第二，直方图的区间宽度选择事实上控制了我们模型的复杂度。考虑这两个因素，我们引入两种广泛使用的非参数估计方法"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.5.1 核密度估计量"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "考虑估计 $D$ 维空间的一个未知概率分布 $p(\\mathbf x)$ 的问题，我们考虑 $\\bf x$ 附近包含它的一个小区域 $\\mathcal R$，这个小区域内的概率质量为：\n",
    "\n",
    "$$\n",
    "P=\\int_{\\mathcal R} p(\\mathbf x) d\\mathbf x\n",
    "$$\n",
    "\n",
    "假设现在我们有 $N$ 个观测点；对于这 N 个点来说，它有 $P$ 的概率落在区域 $\\mathbf R$ 中，所以有 $K$ 个数据点落在 $\\mathbf R$ 中的概率是一个二项分布，概率为\n",
    "\n",
    "$$\n",
    "\\mathrm{Bin}(K| N, P)=\\frac{N!}{K!(N-K)!}P^{K}(1-P)^{N-K}\n",
    "$$\n",
    "\n",
    "利用二项分布的性质，我们知道\n",
    "$\\mathbb E[K/N] = P$\n",
    "和\n",
    "$\\mathrm{var}[K/N]=P(1-P)/N$，当 $N$ 足够大时，我们有：\n",
    "\n",
    "$$K\\simeq NP$$\n",
    "\n",
    "当区域 $\\mathcal R$ 足够小时，我们有：\n",
    "\n",
    "$$P\\simeq p(\\mathbf x)V$$\n",
    "\n",
    "其中 $V$ 是区域的体积，这样我们就得到估计值：\n",
    "\n",
    "$$\n",
    "p(\\mathbf x) = \\frac{K}{NV}\n",
    "$$\n",
    "\n",
    "对于 $\\mathcal R$ 的选择，我们要让它足够小，从而 $p(\\mathbf x)$ 可以认为是一个常数；但是要足够大，使得落在这个区域的次数 $K$ 能在均值附近出现峰值。\n",
    "\n",
    "当我们固定 $K$，然后决定适合的 $V$ 时，对应的是 $K$ 近邻的方法，当我们固定 $V$ 找 $K$ 的时候，对应的是核方法。\n",
    "\n",
    "当 $N\\to\\infty$ 的时候，这两种方法在 $V, K$ 随 $N$ 增大而分别减小和增大的情况下都会收敛到真实分布。\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 核函数方法"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们将区域 $\\mathcal R$ 限制为以 $\\bf x$ 为中心的一个小立方体。为了计算落在这个区域的数据点数 $K$ 我们定义这样的函数：\n",
    "\n",
    "$$\n",
    "k(\\mathbf u) = \\left\\{\n",
    "\\begin{aligned}\n",
    "1, &~|u_i| \\leq 1/2, i=1,\\dots,D \\\\\n",
    "0, &~{\\rm otherwise}\n",
    "\\end{aligned}\n",
    "\\right.\n",
    "$$\n",
    "\n",
    "它表示数据点是否落在以原点为中心的单位立方体。\n",
    "\n",
    "$k(\\mathbf u)$ 就是一个核函数的例子，在这个问题上，更确切的说法应该是 Parzen 窗函数。\n",
    "\n",
    "从上面的式子可以看出落在，$k(\\frac{\\mathbf{x-x}_n}{h})$ 表示数据点 ${\\bf x}_n$ 是否以 $\\mathbf x$ 为中心，边长为 $h$ 的区域。因此，落在这个区域的数据点总数为：\n",
    "\n",
    "$$\n",
    "K = \\sum_{n=1}^N k(\\frac{\\mathbf{x-x}_n}{h})\n",
    "$$\n",
    "\n",
    "从而概率密度的估计值为\n",
    "\n",
    "$$\n",
    "p({\\bf x})=\\frac{1}{N} \\sum_{n=1}^N \\frac{1}{h^D} k(\\frac{\\mathbf{x-x}_n}{h})\n",
    "$$\n",
    "\n",
    "与直方图法一样，这种方法面临的一个问题是在边界上的不连续性。我们可以考虑一个更加光滑的核函数，比如说最常见的高斯核函数，考虑上式的形式，我们给出一个类似的表达式：\n",
    "\n",
    "$$\n",
    "p({\\bf x})=\\frac{1}{N} \\sum_{n=1}^N \\frac{1}{(2\\pi h^2)^{1/2}} \\exp(-\\frac{\\|\\mathbf{x-x}_n\\|}{2h^2})\n",
    "$$\n",
    "\n",
    "这里 $h$ 对应的是高斯成分的标准差。\n",
    "\n",
    "当我们更换了核函数的时候，为了保证概率密度是归一的，求和的部分通常也要满足概率密度的归一性。\n",
    "\n",
    "通常，核函数满足的条件为\n",
    "\n",
    "$$\n",
    "\\begin{align}\n",
    "k(\\mathbf u) & \\geq 0 \\\\\n",
    "\\int k(\\mathbf u)d\\mathbf u & = 1\n",
    "\\end{align}\n",
    "$$\n",
    "\n",
    "如图所示为高斯核函数在不同 $h$ 下的拟合结果。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fb343497e80>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "_, axes = plt.subplots(3, 1, figsize=(7,6))\n",
    "\n",
    "h = 0.005, 0.07, 0.2\n",
    "\n",
    "for i in range(3):\n",
    "    tq = np.zeros_like(tp)\n",
    "    for x in xx:\n",
    "        tq += norm.pdf(tt, loc=x,scale=h[i])/len(tt)\n",
    "    axes[i].plot(tt, tp, 'g')\n",
    "    axes[i].plot(tt, tq, 'b')\n",
    "    axes[i].set_ylim(0, 4)\n",
    "    axes[i].set_yticks([0, 4])\n",
    "    axes[i].set_xticks([0, .5, 1])\n",
    "    axes[i].text(0.1, 3, '$h={}$'.format(h[i]), fontsize='x-large')\n",
    "    \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.5.2 近邻方法"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在核方法中，一旦我们选定了 $h$，我们就相当于固定了体积 $V$（分别对应于上一节的 $h^D, (2\\pi h^2)^{1/2}$）。\n",
    "\n",
    "现在我们考虑固定 $K$ 的情况，此时我们需要找到一个合适的 $V$ 使得落在体积 $V$ 中的点正好为 $K$ 个。\n",
    "\n",
    "为了方便，我们考虑点 $\\bf x$ 的一个球域，这个球域正好包含 $K$ 个数据点。此时，球的体积由离 $\\bf x$ 第 $K$ 近的点决定。\n",
    "\n",
    "该点的密度近似为：\n",
    "\n",
    "$$\n",
    "p(\\mathbf x)=\\frac{K}{NV}\n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fb342ce04e0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "_, axes = plt.subplots(3, 1, figsize=(7,6))\n",
    "\n",
    "K = 1, 5, 30\n",
    "N = 50.0\n",
    "\n",
    "for i in range(3):\n",
    "    tq = np.zeros_like(tt)\n",
    "    for j, t in enumerate(tt):\n",
    "        dd = np.abs(xx - t)\n",
    "        dd.sort()\n",
    "        tq[j] = K[i] / N / (2 * dd[K[i]-1]) \n",
    "    axes[i].plot(tt, tp, 'g')\n",
    "    axes[i].plot(tt, tq, 'b')\n",
    "    axes[i].set_ylim([0, 5])\n",
    "    axes[i].set_yticks([0, 5])\n",
    "    axes[i].set_xticks([0, .5, 1])\n",
    "    axes[i].text(0.1, 3, '$K={}$'.format(K[i]), fontsize='x-large')\n",
    "    \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "不同 $K$ 的拟合结果如上图所示。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 拓展到分类问题"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "假设我们有 N 个数据点，第 $\\mathcal C_k$ 类有 $N_k$ 个，从而 $\\sum_{k} N_k = N$。\n",
    "\n",
    "对于一个新数据点 $\\bf x$，我们找到包含 K 个点的体积为 $V$ 的区域，从而总的概率密度近似为：\n",
    "\n",
    "$$\n",
    "p(\\mathbf x)=\\frac{K}{NV}\n",
    "$$\n",
    "\n",
    "在这个区域中，第 $\\mathcal C_k$ 类有 $K_k$ 个，条件概率密度近似为：\n",
    "\n",
    "$$\n",
    "p(\\mathbf x|\\mathcal C_k)=\\frac{K_k}{N_kV}\n",
    "$$\n",
    "\n",
    "而类别的先验为：\n",
    "\n",
    "$$\n",
    "p(\\mathcal C_k) = \\frac{N_k}{N}\n",
    "$$\n",
    "\n",
    "于是贝叶斯定理给出：\n",
    "\n",
    "$$\n",
    "p(\\mathcal C_k|\\mathbf x) = \\frac{p(\\mathbf x|\\mathcal C_k)p(\\mathcal C_k)}{p(\\mathbf x)} = \\frac{K_k}{K}\n",
    "$$\n",
    "\n",
    "最小错误率决策给出，我们要将 $\\bf x$ 标记为 $p(\\mathcal C_k|\\mathbf x)$ 即 $K_k / K$ 最大的那个类。\n",
    "\n",
    "所以为了对新数据点进行决策，我们首先找到离它最近的 $K$ 个点，然后将数据点划分为 $K$ 个点中最多的那个类；数目相同则随机选取一类。\n",
    "\n",
    "当 $K = 1$ 时，这对应于最近邻规则，即新数据点的标签为离它最近的数据点的类别。\n",
    "\n",
    "对于最近邻规则，当 $N\\to\\infty$ 时，它的错误里不会超过使用真实分布进行判断的最小错误率的两倍。\n",
    "\n",
    "当然，核方法和近邻法的一个缺点在于我们需要存储所有的训练数据。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
